//
//  ProtocolVC.swift
//  ReviewSwift
//
//  Created by ladystyle100 on 2017/8/25.
//  Copyright © 2017年 WangXQ. All rights reserved.
//

import UIKit

class ProtocolVC: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        self.view.backgroundColor = UIColor.white
        
        /** 协议
         *  我觉得, 可以把协议看做行为, 动作, 每添加一个协议, 就多一个行为, 多一个属性, 多一个函数
         *  拿tableView的dataSource举个栗子吧!
         *  dataSource: 因为你遵守了它(UITableViewDataSource), 那么你就得必须加两个行为返回row, 返回cell, 所以, 他每次需要数据, 都会从你这边获取数据
         *  这个就像人在生活中, 你和某个人达成了协议, 需要每天跑步, 那么你就得每天进行跑步这个行为
         *  比如你自己发誓练就铁砂掌, 这也是达成了一种协议, 你就会在生活中多一种行为, 练铁砂掌
         *  当然, 你也可以不去练, 不去跑步, 这就有点像option了, 可选协议, 可遵守, 也可不遵守
         *
         *  所以说, 创建一个协议, 就是创建某一个行为, 动作. 所以你要想好, 你需要遵守协议的人做什么, 必须有什么行为, 有什么行为是可选的
         *  当然协议最好有针对性, 不要多个混合成一个, 除非真的有必要
         */
        
        // 调用protocol延展的方法
        self.sleep("Pete")
        
        // 添加一个view, 然后添加代理协议
        let pView = ProtocolView.init(frame: CGRect.init(x: 0, y: 0, width: 300, height: 300))
        pView.backgroundColor = UIColor.orange
        pView.delegate = self
        self.view.addSubview(pView)
    }
    
}











